#include<opencv2/opencv.hpp>
#include<iostream>
// #include<fmt/format.h>



// clang-format off

    //  相机内参
    static const cv::Mat camera_matrix =
        (cv::Mat_<double>(3, 3) <<  2406.44396019034 , -0.351768406184678,706.211774092069, 
                                    0                 , 2405.74533719289 , 562.070568713484, 
                                    0                 , 0                  , 1                   );
    // 畸变系数
    static const cv::Mat distort_coeffs =
        (cv::Mat_<double>(1, 5) << -0.132889308724625, 2.79595109038274, 8.65601783398298e-05, -0.000161722913324175, -25.2053758316155);
    
    // clang-format on
    static const double LIGHTBAR_LENGTH = 0.056; // 灯条长度    单位：米
    static const double ARMOR_WIDTH = 0.135;     // 装甲板宽度  单位：米
    


    // object_points 是 物体局部坐标系下 n个点 的坐标。
    // 对于我们而言，也就是装甲板坐标系下4个点的坐标。
    // 世界坐标系
    static const std::vector<cv::Point3f> object_points {
        {-ARMOR_WIDTH/2,-LIGHTBAR_LENGTH/2 , 0 },  // 点 1   // z轴代表深度，这里的0代表在装甲板的表面
        {ARMOR_WIDTH/2,-LIGHTBAR_LENGTH/2, 0 },  // 点 2
        {ARMOR_WIDTH/2,LIGHTBAR_LENGTH/2, 0 },  // 点 3
        {-ARMOR_WIDTH/2,LIGHTBAR_LENGTH/2, 0 }   // 点 4
    };
    
    

    


    